package com.zrrd.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;

/**
 * @author WanJl
 * @version 1.0
 * @title JdbcConfig
 * @description
 * @create 2024/1/26 10:37
 */
public class JdbcConfig {
    /**
     * 1.创建driver、url、username、password等私有成员变量，
     * 并且通过依赖注入向变量注入简单类型值。
     *
     * @Value ： 注入简单类型（无需提供set方法）
     */
    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String userName;
    @Value("${jdbc.password}")
    private String password;
    /**
     * 2.创建一个获取DataSource数据源的方法，
     * 将注入的数据库连接参数都放到DataSource对象中，
     * 最后返回DataSource对象。
     * 采用DruidDataSource数据源
     * @Bean：表示当前方法的返回值是一个bean对象，添加到IOC容器中
     * @return
     */
    @Bean
    public DataSource dataSource(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(userName);
        ds.setPassword(password);
        return ds;
    }
}
